草庐IT

MySQL GROUP_CONCAT 和 DISTINCT

全部标签

php - doctrine2 和 group_concat

我一直在查看文档/谷歌,但没有找到任何解决方案。有没有办法在没有原生mysql的情况下使用doctrine2(DQL)执行或模仿GROUP_CONCAT?例如:SELECTu.id,u.name,[GROUP_CONCAT(...)]ASuser_messagesFROMmodels\UsersuLEFTJOINmodels\MessagesmGROUPBYu.id得到GROUP_CONCAT(m.id,'|',m.titleSEPARATOR':')现在我正在使用createNativeQuery()来运行它,但我正在寻找一个doctrine2解决方案。提前致谢

MySQL DISTINCT 函数不工作

使用MySQL。以下SQL语句可以完美运行:SELECTa.ID,a.DISPNAME,a.UNIT_TYPE,a.MODELNUM,a.DESCRIP,a.DATE_ADDED,b.TYP,c.FIRSTNAME,c.LASTNAMEFROMjobs_engineeringaINNERJOINunit_typesbONa.UNIT_TYPE=b.IDINNERJOINuserscONa.AEID=c.USERIDORDERBYa.DATE_ADDEDDESC但现在我只想要列DISPNAME的唯一记录,因为该列有多个重复值。我添加了DISTINCT方法SELECTa.ID,DISTIN

sql - 在 JOIN 之后选择 DISTINCT 值

我有3个表:Vehicle:vehicle_id,vehicle_type1,motorcycle2,car3,vanOwners:person_id,vehicle_id,date_bought1,1,20091,2,20082,3,20092,1,2005我想显示所有车辆名称的列表。如果person_id=1,则还应返回date_bought。所以我想我会从这个开始:SELECT*FROMvehiclesLEFTJOINOwnersUSING(vehicle_id)返回这个:1,1,motorcycle,20091,2,car,20082,3,van,20092,1,motorcy

mysql - MySQL 中的 group_concat 性能问题

我在查询中添加了一个group_concat并终止了性能。解释计划在我添加之前和之后是相同的,所以我很困惑如何优化它。这是查询的简化版本:SELECT@curRow:=@curRow+1ASrow_number,docID,docTypeID,CASEWHENCOUNT(1)>1THENgroup_concat(makeID)--THEN'multiplemakesfound'ELSEMIN(makeID)ENDASmakeID,MIN(desc)ASdescFROMsimplified_mysql_table,(SELECT@curRow:=0)rGROUPBYdocID,docTy

使用 GROUP BY 和 DISTINCT 的 MySQL 条件 SUM

我的foos表中有以下数据结构:-----------------------------------------------|id|bar_id|baz_id|date|value|-----------------------------------------------|1|1|1|2013-12-01|failure||2|1|1|2013-12-09|failure||3|2|1|2013-12-02|success||4|3|1|2013-12-10|success||5|3|1|2013-12-01|failure||6|3|1|2013-12-08|success||

MySQL 通过最高值选择 DISTINCT

我有一张满是杂志的table,需要提取每本杂志的最新一期。我试过了SELECTDISTINCTmagazineFROMproductpINNERJOIN(SELECTtitle,MAX(onSale)ASLatestFROMproductGROUPBYmagazine)groupedp它返回不同的杂志,但不返回我需要的其余数据。更新:架构-id----onsale----magazine11/12/12FishingMag21/11/12FishingMag312/03/11PencilSharpeningMonthly41/02/10PencilSharpeningMonthly51

mysql - 如果在 mysql 中使用 group_concat 条件

我的表格有2列empid和depid。该表没有任何主键。下面是表格的数据。+-------+-------+|empid|depid|+-------+-------+|1|1||1|2||1|3||1|4||2|1||2|2||2|3||2|4|+-------+-------+现在选择我在查询下面写的员工的所有depids。selectempid,group_concat(depidseparator':')fromempgroupbyempid;它给了我预期的输出。+-------+-----------------------------------+|empid|group_

mysql - MySQL 中 GROUP_CONCAT 和 Longtext 的问题

SQL...UPDATEThreadstSETt.Content=(SELECTGROUP_CONCAT(a.ContentORDERBYa.PageIDSEPARATOR'')FROMMSarticlepagesaWHEREa.ArticleID=t.MSthreadIDGROUPBYa.ArticleID)如您所见,它占用了文章的所有页面(每个作为长文本存储在单独的行中)并将它们GROUP_CONCATs成一个单个长文本行。问题是结果只有这么多字符然后它被完全截断,丢失大约90%内容。CONCAT不能很好地处理长文本还是有我做错了什么? 最佳答案

MySQL COUNT(CASE WHEN ... THEN DISTINCT 列)

我的查询:COUNT(CASEWHENYEAR(FieldValue)=YEAR(CURDATE())ANDMONTH(FieldValue)=MONTH(CURDATE())THEN1END)ASmtd我想要这样的东西:COUNT(CASEWHENYEAR(FieldValue)=YEAR(CURDATE())ANDMONTH(FieldValue)=MONTH(CURDATE())THENDISTINCTColumnIDEND)ASmtd这给出了一个错误。我不能使用GROUPBY。如果我在CASE之前添加DISTINCT它不起作用,或者它将FieldValue列视为DISTINCT

mysql - count(distinct col_name) 与计算 select distinct 查询的行数不同吗?

我在MySQL数据库中有一个包含1100万行的表。其中一列是个人身份证号码。人们在表中被多次列出,我想知道有多少个唯一的个人ID号码。然后创建一个包含这些唯一数字的表格。当我计算列中不同的个人ID号码时,我得到的号码与我将它们直接插入表格时得到的号码不同。例如:selectcount(distinctperson_key)frombig_table;给我的计数是4,074,890。然后当我尝试用它们创建一个表时,insertintonew_tableselectdistinctperson_keyfrombig_table;它只创建了2,701,875行。(此外,如果我使用查询:sel